<?php
/* * 
 * 功能：支付宝页面跳转同步通知页面
 * 版本：3.3
 * 日期：2012-07-23
 * 说明：
 * 以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己网站的需要，按照技术文档编写,并非一定要使用该代码。
 * 该代码仅供学习和研究支付宝接口使用，只是提供一个参考。

 *************************页面功能说明*************************
 * 该页面可在本机电脑测试
 * 可放入HTML等美化页面的代码、商户业务逻辑程序代码
 * 该页面可以使用PHP开发工具调试，也可以使用写文本函数logResult，该函数已被默认关闭，见alipay_notify_class.php中的函数verifyReturn
 */

require_once(APPLICATION_PATH ."/../library/zfb/alipay.config.php");
require_once(APPLICATION_PATH ."/../library/zfb/zfbHelper/alipay_notify.class.php");
?>

<?php
//计算得出通知验证结果
$alipayNotify = new AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();

if($verify_result) {//验证成功
	//商户订单号
	$out_trade_no = $_GET['out_trade_no'];
	//支付宝交易号
	$trade_no = $_GET['trade_no'];
	$trade_status = $_GET['trade_status'];
	if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
		$rest = new Application_Model_Rest();
		$res_putTransac = $rest->putUserOrderTransaction($out_trade_no,$trade_no,true);
		$orderId = $res_putTransac->orderid;
		if(!empty($orderId)){
			echo '<script>location.href="/order/success?oid='.$orderId.'";</script>';
		}else{
			echo '<script>location.href="/order/list";</script>';
		}
		// echo '<div style="text-align:center;margin-top:20px;padding:5px;">支付成功，回到微信点击订单查询</div>';
	} else if($_GET['trade_status'] == 'TRADE_CLOSED') {
		$res_putTransac = $rest->putUserOrderTransaction($out_trade_no,$trade_no,false);
		// echo '<div style="text-align:center;margin-top:20px;padding:5px;">支付失败</div>';
		$orderId = $res_putTransac->orderid;
		if(!empty($orderId)){
			echo '<script>location.href="/order/status?oid='.$orderId.'";</script>';
		}else{
			echo '<script>location.href="/order/list";</script>';
		}
	}
}
else {
    //验证失败
    //如要调试，请看alipay_notify.php页面的verifyReturn函数
   echo '<script>location.href="/order/list";</script>';
}
?>
